Top 10k strings from Supercode 3 v3.5 (1985)(CP Software).tap in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TAP] (TOSEC-v2007-01-01) /
Back to the directory listing
6 "23658",O:
5 "23659",F:
4 *"m";NN;C$(
4 "23659",D:
3 "1";"SC3.5-2"
2 to be replaced.
2 s of the
2 out these Instructions.
2 of filename with trailing
2 it back with
2 ed/reset Spectrum. (6)Press
2 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples of 256 away from the original add-resses.Proceed as follows: Get the page of the routine,& press Q to quit.The original address is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer.";
2 areutilised.)":
2 a RAMTOP belowZ &
2 ZX INTERFACE 1 ATTACHED
2 Z2=235
2 Z2=231Enter:- 9990
2 Z2=229
2 Z if from Microdrive).If anaddress >23812 is to be
2 Written by F.A.VACHHA BSc
2 UMP PAGE#/
2 UIT AND EXAMINE LINE 1210
2 TO SEE HOW THIS WAS DONE,";
2 THERE HAS BEEN A RECORDING ERROR
2 Start address:
2 SAVE*""m"";1;
2 S U P E R C O D E 3.5
2 Routine Starts at ";A
2 Routine Ends at ";A+B-E;
2 Recording OK
2 ROUTINE NO:
2 ROUTINE IN ROM
2 ROUTINE #";N;"
2 RIGHT-SCROLL
2 RELOCATING SUPERCODE3.5 ROUTINES
2 RAM SIZE: 48K"''"PROGRAM LOADED FROM CASSETTE
2 PART 2 from tape.When you come to this page, press
2 NON-RELOCATABLE ... use L
2 NO: ROUTINE
2 NEXT DATASECTOR
2 NEXT DATARECORD
2 NET CHANNEL
2 MICRODRIVE
2 LEFT-SCROLL
2 J,H;"Routine Length is ";B;" bytes
2 If this is OK, press enter.If itis not, enter the new name (notethat only the first ten
2 INSTRUCTIONS ON THE TRANSFER OFSUPERCODE 3.5 TO A ZX-MICRODRIVE
2 INDEX PAGE ";(
2 Enter Routine No:
2 Enter Index Page No:
2 ERROR CODE: ";N$:
2 DOWN-SCROLL
2 D,D;A$;A$;A$;A$:
2 Copying copies is FORBIDDEN
2 BCCCCCCCCCCCCCCCCCCF
2 Adapted from Original Supercode___by F.A.Vachha & V.B.Rumsey___
2 ANY OTHER KEY
2 A/C/D/E/I/J/L/M/N/P/Q/R/S/T
2 A$;A$;A$;A$:
2 9990, & proceedto
2 23635+256*
2 120"'"Then enter
2 10(No Error Trap)"'"Turn Page: Use ENTER or Jump"'"Menu:";:
2 0 (Error Trap)"'"
2 .Keeping the
2 .(5)You now have a verified copy of SUPERCODE on microcartridge -it will autostart if you enter
2 *"m";E;"SC3.5-3"
2 *""m"";n;Name$
2 )to Tape/Microdrive,
2 ). To access a routine whose no: is known, press
2 ). For ways to relocate routines, press
2 ) to restart. To get this routine's details another time, press
2 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer workat its old address."'"(3)The ROM routines,#120 & #125 are very difficult to relocate (why ever relocate a ROM routine?!) while #77/78 have to be located at the very top of RAM.":
2 (Index). Use ENTER to turn pages To access the next routine in the Index, press
2 (1)Using PAUSE"'"(2)W/out PAUSE
2 (1)Reset the Spectrum.Put a new cartridge in Microdrive#1"'"(2)Enter
2 (*)/ INDEX/ CUSTOMISE"'"Restart:
2 '"This routine will be saved with the provisional name
2 '"If an error message appears, useGOTO 0 to restart."'"Enter the Microdrive number, or just press Enter for the default# of 1.":
2 "To store this routine on a Microdrive cartridge,press
2 "The SAVE is over."'"Proceeding with VERIFY.":
2 "Please replay the tape.":
2 "OK,the name is
2 "OK,the Microdrive # is
2 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)":
2 "9",H;"To call this routine, use";
2 "64884",M:
2 "60879",D:
2 "60878",J:
2 "60020",F:
2 "51225"+N*K:
2 "2590"*(N$="L")
2 "234"-Z,D:
2 "20"*(NMAX=F)
2 "2.3025"):
2 "16"-G*(N<P);",";
2 "''"Define Z1,Z2:-"'"For
2 "''"(1)To move a Relocatable Routineso that it starts at address Z,first
2 "'"Position: 55000-65535"'"Ramtop: 51000"'"Help Prog:
2 "'"Number of Routines:
2 "#";N;": ";
2 " To store this routine on tape, press
2 " To follow '2 byte eq',see #101."
2 " This routine
2 " For transfer of
2 to a ZX-Microdrive, press
2 is now called
2 SAVE""Name""CODE ";A;",";B
2 ROUTINE # 65 HAS PREVENTED YOU FROM BREAKING INTO THIS PROGRAM
2 Loading Time:
2 DATA FILE
2 -rewind & replay PART 1 from the start.When you come to this page,press
2 (Tape)."'"Note address,length,customising POKEs(if any)etc for future ref:":
2 (Repeat)."'" For a demo, press
2 (Quit). Use
2 (Number).":
2 (MDrve)."
2 (Demo)."'" To return to the Index, press
2 ( Location Change ). For BASIC, press
2 (76+76)Call:
2 key pressed,play PART 1."'"(3)After the reset enter
1 with this program 1
1 variables"'" (3) Numeric Arrays"'" (4)
1 value to be filled ( taking care of border effects),then call this routine"
1 value (56 initially)."'"
1 use #148."
1 to the bottom 2
1 to the lower X (0<X<25)
1 to be sent to Stream 3 attached to Channel P (ZX Printer)."
1 to be sent to Stream 2 attached to Channel S (
1 to be located":
1 this routine before loading Incidentally, to check if your Spec is Issue3,
1 this rout -ine within(using
1 the following:-"'"
1 the 2- byte equivalent(see #101)of the address of the
1 that is to be transformed,into ";:
1 such lines."
1 statement at
1 start in mem."
1 sets like the SCIFI in #79).
1 scrolls when re
1 s. Also see #82,#90,#100,#103h"
1 s,by combining
1 s will not work if
1 s which are stored in RAM(ie,UDGs or alternative
1 s when logically possible.Also see #64 #90,#100,#103h."
1 s to 23813, not 23755
1 s the no: of
1 s the length of the BASIC program. Memory used by variables is ignored. Also see #103,#111."'" Incidentally,to distinguish 16K from 48K Spectrums,
1 s the address of the first
1 s RAMTOP to its original value, zeroes the entire memory & resets System Variables,UDGs & stack."
1 s 22/23. (k=0 for 22,k=1 for 23)"
1 s & statements in a prog. Restart SUPERCODE with
1 s before EVERY call
1 routine,& let x=no: after LD,de.Use #115 with a higher start address & x =no: of bytes.The file should
1 quotes to save space.Also see #64,#82 & #100."
1 prog autostart, enter 1
1 part2 of your program with the header of another prog, by manipulating Record/Pause keys on taperec.Call this routine in part1,& immediately after,call routine115.Part2 will now auto-
1 p,q if bytes) Use the same
1 on variables, instead use
1 on all 24 lines of the
1 of the same
1 of bottom two
1 of BASIC containing a prespecified sequence of
1 of a given
1 n to prevent the scroll? prompt from corrupting the
1 mode engaged"''"Release S key":
1 it to a different address, >23900 so it does not overlap with the System variables."'" (c)To
1 is to be execu- ted.Enter
1 is stored at X, enter
1 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg
1 is away of stopping most autostart programs. However programs>7K inlength can be made
1 is possible:use
1 into 23681."
1 instruction. After,
1 instead of
1 ing the two parts."
1 in non-deletab-le lines:the listing vanishes 5)Autostart by using
1 in a BASIC program by another
1 from X to X+6911,
1 from Part1,but anyone who attempts to
1 for another
1 etc. Then
1 ed,use routine119 before each
1 ed,the BASIC will autorun,& will start the
1 ed into a Spec with shadow ROM paged in,as the prog
1 ed came from tape/Mdrve,
1 each part immediately before saving the next one:this ensures that there will be no delay between
1 d into 62866 & 62867 respectively. The 4 columns are addr,contents in dec+hex &
1 d into 57124/5);if not,you will
1 created with routine #147. If such a
1 commands with
1 co-ordinates of the";'" top left hand corner of the box
1 co- ordinates of the top-left hand corner of the box."
1 at any position on the screen: ie, to find the
1 at ANY position X,Y on the
1 as well as resets
1 are set up as UDGs. To return to usual UDGs,
1 any point inside it.
1 address from which
1 able). Use N to exit.
1 a higher RAMTOP first."
1 a headerless file, disassemble its
1 a compressed
1 \##N#F#"]\"
1 [}\r#s#N#F#
1 ZX SPECTRUM MACHINE CODE TOOLKIT
1 ZX SPECTRUM MACHINE CODE TOOLKIT
1 ZX INTERFACE1 MUST BE ATTACHED
1 Z=A+G-F*(N=
1 Z;" /"'" ";Z+1
1 Z/50 gives the time taken to hit the last key,in seconds."
1 Z$:to work
1 X.For the error
1 X-3,0 The program will work provided you do not
1 X+25, Drive number
1 X+25, Drive Number
1 X+16, Number of bytes to be sent. If
1 X+14 to X+23,
1 X+13, Relative Record No:"
1 X+11/+12, next data byte
1 X+1,0. To do this to other lines, first find their address X using routine 88, then
1 X and then call this routine."
1 X & then call this routine(
1 UPPER-CS PROGRAM
1 UNI-NOTE SOUND-GEN
1 This is Line #";Z
1 The save is OK. Press any key.":
1 TRACE VARI-SPEED
1 TOP/MID RIGHT-SCR
1 TOP/MID LEFT-SCR
1 TOP RIGHT-SCROLL
1 TOP LEFT-SCROLL
1 TAPE HEADER READER
1 Start Addr 2
1 Space (1-255)"
1 SUPERCODE TOOLKIT
1 SUPERCODE
1 SUPERCATALOGUE ******
1 SUPER-RENUMBER
1 SUPER-CATALOGUE
1 STAR/RING DRAW
1 SHUTTER RIGHT-SCROLL
1 SHUTTER LEFT-SCROLL
1 SEND RS232 BYTE
1 SEND #NET PACKET
1 SELECT DRIVE
1 SC3.5-4.2
1 SC3.5-4.1 aE
1 SC3.5-3
1 SC3.5-2
1 S with Interval I
1 RIPPLE RIGHT-SCROLL
1 RIPPLE LEFT-SCROLL
1 REPLAY SOUND
1 REFLECT Y-AXIS
1 REFLECT X-AXIS
1 RECORD SOUND
1 RECEIVE RS232 BYTE
1 REACTION TIME
1 R"E\*S\###"
1 Q,E;"To store a compressed
1 Q,E;"This routine
1 Q,E;"Programs with m/c in
1 Q,E;"Call this routine at the start of your program.
1 Q,D;" This (also with 1248/1276/1301 /1488) displays a
1 Q,D;" The Spectrum doesn't check if there is enough space free in its memory before
1 Q 2
1 Press ENTER to Expand the Whole Program
1 Part2 by other means will crash the computer."
1 PROTECT PROGRAM
1 PROGRAM LENGTH
1 PRINTER OUTPUT
1 PRESS ANY KEY. THEN ENTER RUN
1 PIXEL UP-SCROLL
1 PIXEL RIGHT-SCROLL
1 PIXEL LEFT-SCROLL
1 PIXEL DOWN-SCROLL
1 PIXEL BOXRGHT SCROLL
1 PIXEL BOXLEFT SCROLL
1 PART TWO - ROUTINES 77-152
1 PART ONE - ROUTINES 1-76
1 PAINT-FILL
1 P,D;" To break into autostart progs, (a)Instead of
1 P,D;" (a)To check whether a ZX Inter- face1 is connected,see whether or not an error is produced if an instruction like
1 ON /OFF checkerboard on the
1 OBLIQUE SCROLL-OFF
1 O,E;"In order to make the FIRST line of your program non- deletable
1 No. STATEMENTS :
1 No. OF EXTRA BYTES::}\_:~\W:
1 No. LINES :
1 No. Bytes:
1 NON-DELETABLE
1 NO MORE OCCURRENCES
1 NNNNNNNNNN
1 MONOCHROME PROGRAM
1 MID/LOW RIGHT-SCR
1 MID/LOW LEFT-SCR
1 MID RIGHT-SCROLL
1 MID LEFT-SCROLL
1 MICRODRIVE VERSION by F Vachha
1 MEMORY AVAILABLEN
1 MEMORY AVAILABLE
1 MDRVE FILE
1 MDRVE DIAGNOSIS
1 M,E;"To make a
1 Length of Program Only:!
1 LOWER-CS PROGRAM
1 LOWER UP-SCROLL
1 LOW RIGHT-SCROLL
1 LOW LEFT-SCROLL
1 LINE NO:NOW RENUMBER PROGRAM
1 KILL CONDENSER
1 J;"----> ";
1 INITIALISE
1 IF1 INITIALISE
1 I;"Less Sig More Sig":
1 HIT A KEY AND LOAD PART TWO
1 HEX->DEC CONVERTER
1 HEADERLESS FILES
1 H,D;" The ZX Microdrive spends most of its time trying to locate a file - actual loading is swift. 2 ways of saving files so that they can be accessed faster are (a)
1 GGGGGGGGGGGGGGGGGGGGGG
1 GGGGCCCCCCCCCCCCCCCCCCCGGGGG
1 GGGGBCCCCCCCCCCCCCCCCCCGGGGG
1 GET #NET PACKET
1 GCCCCCCCCCCCCCCCCCCG
1 G,D;"1)Make line1 1
1 Freddy A Vachha Vic B Rumsey
1 First Byte:
1 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM
1 FREE-SCROLLER
1 FOREIGN ACCENTS
1 FFFFFFFFFFFFFFF
1 EXPAND PROGRAM
1 ENLARGE REM
1 EEEEEEEEEEEEEEEE
1 EEEEEEEEEEE
1 DUAL-NOTE SOUND-GEN
1 DISABLE BREAK
1 DESELECT DRIVE
1 DEC->HEX CONVERTER
1 Channel Addr+13,Sector no:"
1 CREATE CHANNEL
1 CONTRACT PROGRAM
1 COMPRESS NUMBERS
1 CHR$ SCRAMBLE
1 CCCCCCCCCCCCCCCCCCG
1 BLOCK MEMORY INSERT
1 BLOCK COPY
1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
1 Auto-start Line No:
1 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70.";
1 Array Name:
1 AWAIT KEYPRESS
1 APPEND STATEMENT
1 ANALYSE PROGRAM
1 ANALYSE MEMORY
1 ADAPT PROGRAM
1 >1 copies of the file on the same cartridge:for x copies,do
1 =>Hex(0-FFFF) Enter the no: to be converted. Routine autorepeats-'Q' quits,&
1 ;"auto-";:
1 ;"SC3.5-4.2"
1 ;"SC3.5-4.1"
1 :these can be
1 :if not,only 1 of the copies might be erased."'" (b)When saving different parts of the program,
1 :Swop sets all squares with the item On,to Off, & all with the item Off,to On."
1 :On/Off toggle the given Colour item"'"
1 ::::::::::::::::
1 : then call this routine. You will be in EDIT mode, but with the cursor at the END of the
1 7,13, enter PRINT
1 65360/1 with the 2 byte eq of the start addr of routine #63(Hex->Dec),which must also be
1 65290. All the memory from 32768 to 65535 is used.To replay,use #78."
1 64834, Box Width"'"
1 64832/5 with
1 64831, Box height"'"
1 64714/5, 2 byte eq of S Also see #60."
1 64711/2, 2 byte eq of I
1 64702, Frequency 2"
1 64693, Frequency 1"'"
1 64682, Duration"'"
1 64670, 28(UP) or 29(DOWN)"
1 64651, Duration"'"
1 64649, Span"'"
1 64648, Frequency"'"
1 63980/1, 2 byte eq of Start Address ) with the display
1 63951, Duration"
1 63905, New
1 63903, Old
1 63801, No: to be inserted"
1 63798/9, Start Address (2 byte eq)"'"
1 63796, No: of bytes"'"
1 63713/14 with the address of the new
1 63652/53 with the 2-byte equiv.(see #101)of the address of the
1 63648, no: of
1 63502,No: of
1 63499/500,2 byte equiv. (see#101)of
1 63017/8, Time(ms) "" """
1 63014/5, Pitch( 2 byte eq)
1 63012, Number of notes
1 63011, Pitch Decrement
1 63004/5, Time(ms) "" """
1 63001/2, Pitch( 2 byte eq)
1 60039.Z contains the required
1 60020, Colours (0-7)
1 60006, Duration (1-127)
1 58690/1,Addr to
1 58687/8,No: bytes to
1 58684/5,Addr to
1 58682,Box Length in
1 58681,Box Width in pixels
1 58680,64(Up)72(Mid)80(Low)
1 58679,Top Left Square
1 57342. 191=>Yes; 255=>No.To make Iss X progs work on Iss Y,precede all
1 57342,191( ifX=1/2,Y=3)or 255(ifX=3,Y=1/2)"
1 57123,195 IF you wish to execute m/c(from address
1 57114/5, Addr of 1st byte
1 57110/1, Number of bytes
1 57091,X"'" Also see Routine #119"
1 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before running program(ignoring the initial display)or during the program.TRACE remains ON until you enter
1 56072+256*
1 55644, Byte(followed by 2 stop bits) to be sent."
1 55628, No: (1-8) of drive to be switched on."
1 55478,Z with Y=254:Z=71 for top 1/3, Y=252: Z=79 for top 2/3 & Y=0:Z=91 for the attributes as well. To
1 55477,Y:
1 55371/2, 2 byte equivalent of X+15.
1 55368/9 with the 2 byte equivalent of X, where X is the address of the Net Channel.
1 55361/2, 2 byte equivalent of X, where X is the address of the Net Channel. Incidentally,
1 55354/5 with the 2 byte equivalent of X, where X is the address of the Net Channel. If
1 3756 does a
1 32s.Also see #71"
1 3,""s"" at the start"'" (2)To
1 24,(``AAAAAAAAAAAAAAAAAAAAAAAAB24,(```AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD{
1 24,(`AAAAAAAAAAAAAAAAAAAAAAAAA
1 23788.If = Program length found with #104 then it came from a MicroDrive"
1 23787+256*
1 23772/3,Address of name":
1 23770, Length of Filename
1 23766,Other Station Number Afterwards,
1 23766, Drive No: (1-8)
1 23758=0 the packet is a broadcast."
1 23749, Your Station Number
1 23730-5 in the autostart
1 23729 gives its length).Alternatively,first do
1 23728/9, 2 byte eq: of X
1 23728+256*
1 23693,X sets the global
1 23692,255 within the loop that generates the lines."
1 23676,255.";
1 23676, 223
1 23671 gives the address of the Channel area."
1 23670+256*
1 23670 & 23671 give the less sig: & more sig: bytes respectively."
1 23659,2. Use
1 23659,0 before each
1 23659,0 at prog start - the effect is that of no:5)."
1 23636.If=23755,it hasn't been paged in so far."'" (c)To check if the program just
1 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble
1 23636,150. To return to normal
1 23636),100. You can RUN but not LIST prog until you
1 23635+256 *
1 23613 -2 9999
1 23610,255:
1 23609,9. The improvement is great with long
1 23607, 60.";
1 23607, 223
1 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN TO THE USUAL
1 23582,27.Now
1 23574+2*N,19+2*N"
1 23562,2"'"
1 23552,RAMTOP-23550-F to save your program disguised as bytes- it will autostart at the first line."'" Also see #104.";
1 23550,Address of LAST byte of
1 22/23"''" Alternatively,use
1 2 BYTE CONVERTER
1 1984 SUPERSOFT SYSTEMS
1 0)."''" Note that if X=
1 0 restarts"
1 0 reaccesses the toolkit.":
1 .If the lower part of
1 ."'" To speed up cursor response,use
1 . Incidentally,if a ZX-Interface1 is attached,enter 1
1 -proof by making the first line a
1 - 23549. When the
1 ,use routine 87 to find its
1 ,to the given address,a headerless file"
1 ,this routine merges a
1 ,say X, to a new
1 ,as does the command
1 ,L:BREAK are ignored."
1 , on an empty Spectrum,to
1 , which saves space but reduces speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers (ie 0,1,2,10 etc)by variables, defined at the start. Routine #72 is useful for locating no:s"
1 +-*]\"[\*Q\
1 ++F+N+++"]\*S\~
1 ++F+N+++"]\
1 *ing:if a program is long/RAMTOP is low it could crash when you try to
1 *ing long programs.If any message besides 0 OK appears,shorten the prog: or
1 *]\###q#p##"]\
1 *S\##"]\^#V
1 *"m";E;"SC3.5-4.2":
1 *"m";E;"SC3.5-4.2"
1 *"m";E;"SC3.5-4.1":
1 *"m";E;"SC3.5-4.1"
1 * it.That would lose the whole program.Instead,call this routine before
1 * ""m"";n;Name$(
1 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these.
1 ), or just after,part1,and call it from there.It will
1 (x+14) gives the block no: of the packet requested: it is auto-incremented after each receive."
1 (same number),0.2)
1 (X+16)>0 then there still is data in the Net Channel: this is sent before the area is deallocated."
1 (X+13)+256*
1 (63768,63771)
1 (63762)
1 (63744)
1 (63738)
1 (63732)
1 (""SUPERCODE"", or ERCO),commands(
1 (" 0:OK,8:END,9:STOP are ignored. Or,errors can be suppressed w/o #65:use 1
1 & statement no: currently being executed.
1 #T]##N#F#~
1 #4; is executed(use with r.no:65) This pages in the shadow ROM, if present."'" (b)To check if the shadowROM is paged in,
1 #4 will call the m/c"
1 # command does
1 # GENERATOR
1 "Press any key":
1 "Press any key again":
1 "If this routine is run on a justreset Spectrum, use #135 first."
1 "F R ` F R `"'':
1 "Delay=";Z/50
1 "And now at slow speed":
1 ";A+P;", Box Width"'"
1 ";A+M;", Box Height"
1 ";A+G;" with"'"
1 ";A+F;"/";A+G;" with the 2":
1 ";A+E;", Overall Colour"
1 ";A+E;", New Attribute Val"'"
1 ";A+E;" /"'" ";A+F;", 2 byte equivalent of X."'"
1 ";("60878/9"
1 "9",D;"Call the
1 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte equivalents.To convert X to its 2 byte equiv.,enter
1 "66")'" with X. If an error occurs,prog control will move to
1 "65")+("60952/3"
1 "65")+(" Errors besides D:BREAK,H:
1 "60029",Z:
1 "60029",I:
1 "60006",I:
1 "56777",E:
1 "56"*(N<P)'" SCROLL-OFF:
1 "54"+(N<P):
1 "4)Embed hidden colour CHR$ to set
1 "36"+A;", 26"'" SCROLL-OFF:
1 "36"+A;", 0"
1 "23681"-E)/
1 "23670"),:
1 "23659",F*(N=
1 "23606",D:
1 "23295"+Z,
1 "20",E;"Also see Routines #22-23."
1 "19",E;"8 calls"
1 "18",D;" WRAP-AROUND:
1 "16";"Right"
1 "15",E;"To scroll attributes as well, refer to routines 37-40(define suitable box & Attr value).Call the attribute scroll once per 1 call of this routine.":
1 "13";", 0";
1 "111"),D;"
1 "109"),H;"
1 "1";"run":
1 "1";"SUPERCODE3":
1 "1";"SC3.5-4.1"
1 "1";"SC3.5-3"
1 "'''"Where any part of SUPERCODE 3.5 is used in commercial programs, you MUST give prominent credit to this fact, in all packaging &advertising.Also,you must refer within the program to the joint authors of SUPERCODE II,F.VachhaBSc & V.B.Rumsey."'"Provided these conditions are obeyed ,no other restriction on use of SUPERCODE 3.5 is imposed." :
1 "'''"Where any part of SUPERCODE 3.5 is used in commercial programs, you MUST give prominent credit to this fact, in all packaging &advertising.Also,you must refer within the program to the joint authors of SUPERCODE 3.5, F.A. Vachha & V.B.Rumsey."'"Provided these conditions are obeyed ,no other restriction on use of SUPERCODE 3.5 is imposed." :
1 ""Enter Microdrive "";A:
1 """""'" Incidentally,to
1 " byte equivalent of X, where X is the address of the Channel.":
1 " X+13 contains the Record number which is not incremented.":
1 " WRAP-AROUND:
1 " To renumber without
1 " To renumber lines starting with S using interval I,
1 " To help with
1 " To delete all lines from X to Y
1 " This routine zeroes all numeric variables/arrays,sets all
1 " This routine will retrieve any compressed
1 " This routine waits till a key (whose CODE will be put in L)is pressed.";
1 " This routine waits for a key to be pressed,then puts its ASCII
1 " This routine undoes the effect of #98, to allow lines of a CONFUSEd program to be EDITed/ altered."
1 " This routine swops all
1 " This routine switches off all drives."
1 " This routine simulates a power- off: ie, it not only does
1 " This routine shortens+speeds up programs by deleting all
1 " This routine scrolls up the lower X (0<X<25)
1 " This routine replays what #77 recorded. It is probably best to use your cassette-recorder (MIC socket) to amplify the sound."
1 " This routine replaces numbers in the program by VAL
1 " This routine replaces each occ- urrence of a specified
1 " This routine prints out a full analysis of memory contents, starting at the address whose less & more significant bytes (see #101)have been
1 " This routine places the byte received in location 23681. If timed-out,0 is inserted."
1 " This routine places a random # pair in the System Variable SEED ( PEEK 23670 & 23671 )." ;
1 " This routine pages in the extra 58 Interface1 System Variables if they have not yet been created."
1 " This routine operates on
1 " This routine merges a
1 " This routine loads information stored in memory into an auto- created
1 " This routine lists each
1 " This routine lists all"'" (1) Numeric variables"'" (2)
1 " This routine inserts a given number into a block of memory.
1 " This routine expands programs so that there is exactly one statement per line (except in IF..THEN lines).In reply to the prompt, enter the no: of the line you want expanded, or just ENTER if you want the entire program expanded. You must use #60 after calling this routine."
1 " This routine enables you to determine the
1 " This routine does
1 " This routine deletes all hidden colour
1 " This routine decodes tapeheader information & prints out a full analysis (name, address, type, length & auto-start details."
1 " This routine allows hex
1 " This routine allows a block of lines to be relocated within a BASIC program.In order to shift lines 4200 till 6745 so they appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60 to renumber & #57 to delete the old lines. Fully errorproofed."
1 " This does
1 " The routine speeds up+contracts programs into the minimum no:of
1 " The routine deallocates channel area."
1 " The routine changes all squares with a given
1 " The routine
1 " The free space F from the last Variable to RAMTOP is printed. Use
1 " THIS IS AN EXAMPLE OF THE SCIFI
1 " Routines 94 to 97 change the case (upper/lower)of strings or of the entire listing ( except strings),as specified.Note that an effective way of switching case from within programs is to POKE 23658,0 (LO) or 8(HI)."
1 " Routines # 18-21 & 47 are all special-effect scrolls."
1 " Only the last 4 hex digits are converted.Incidentally,ZX BASIC does not allow
1 " Move the cursor to the required
1 " In order to scroll a table of data > 22 lines long without stopping, use the command
1 " If the file had been opened for writing, the current record is written to the first available microdrive sector before the file is closed."
1 " INVERSE SCR:
1 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),&
1 " Format is Name,Type(B=Bytes,P= Prog),Length,Start Addr:(if B) or Auto Line(if P)(65535=>none)";:
1 " Follow the prompts to expand a REM statement (to accommodate code) anywhere in the program, by up to 9999 bytes"
1 " First switch motor on with #131"
1 " Error#6 if no: was out of range"
1 " Draw multipointed-stars & rings by first plotting a point near the middle of the screen & then using DRAW X,Y,N where X & Y have magnitudes from 10 to 60 & N lies between 1000 & 9999. Do experiment - try 189*
1 " Draw any closed convex figure &
1 " Decimal(0-65535)
1 " Corrupts the listing without affecting program execution: attempting to EDIT/alter lines could be fatal (thus useful for program protection, as are #68/ #80)."
1 " By POKEing 23606 & 23607 with different numbers, a corrupted character set is obtained. To normalise, POKE 23606,0 : POKE 23607,60. Protect your program with this, temporarily normal- ising before each PRINTing."
1 " Before calling this routine,
1 " Also see Routine #122"
1 " A set of accented
1 values are not changed.Refer to #25-27 for
1 to """" & all dimensioned
1 swops the current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards for room).For
1 saves a screen,
1 recalls it.
1 might not close every stream: use this instead."''" Incidentally 1)To disable
1 messages."
1 message,then entering
1 channel N (3<N<16) use
1 OVERPRINT
1 F.A.VACHHA BSc 1984
1 ERR+1,0'.Any BREAK/ error will now cause a crash. 6)
1 DATA SECTOR
1 DATA RECORD
1 59580 ,I: POKE 59582/3,2 byte eq:of S Each
1 59293 with the
1 23733. Now 127=>16K, 255=>48K.";
1 23729 gives the address of the Net Channel."
1 23692,x where x is the no: of lines to be scrolled. To scroll 'forever' use
1 1.The 2 byte equivalents(see # 101)of the starting address of the memory & the no: of bytes must be stored in 63209/10 and 63206/07 respectively."
1 the cursor is pointing to.";
1 stored in RAM (
1 no:,the next valid
1 k,0; to
1 into RAM.POKE 23563/4 with the 2 byte eq: of the first address to be changed
1 but also
1 at X,enter
1 X,Y;""Optional Message"";Variable The method works with
1 23728+256*
1 arrays to
1 BASIC programs."'" (b)To
1